package cn.net.cfss.fgbp.api.console.dto;


import cn.net.cfss.fgbp.api.console.constant.RoleDsTypeEnum;
import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.FgbpEnumSerializer;

import javax.persistence.*;
import java.io.Serializable;

@Table(name = "t_sys_role")
public class SysRoleDto extends BaseDto {

    /**
     * 角色名称
     */
    @Column(name = "ROLE_NAME")
    private String roleName;

    /**
     * 角色编码
     */
    @Column(name = "ROLE_CODE")
    private String roleCode;

    /**
     * 角色描述
     */
    @Column(name = "ROLE_DESC")
    private String roleDesc;

    /**
     * 数据权限类型(0-自定义;1-本级及子级;2-本级)
     */
    @JSONField(serializeUsing = FgbpEnumSerializer.class)
    @Column(name = "DS_TYPE")
    private RoleDsTypeEnum dsType;

    /**
     * 数据权限范围
     */
    @Column(name = "DS_SCOPE")
    private String dsScope;

    /**
     * 备注
     */
    @Column(name = "REMARK")
    private String remark;
    
    /**
     * 机构ID
     */
    @Column(name = "ORG_ID")
    private Long orgId;

    /**
     * 获取角色名称
     *
     * @return ROLE_NAME - 角色名称
     */
    public String getRoleName() {
        return roleName;
    }

    /**
     * 设置角色名称
     *
     * @param roleName 角色名称
     */
    public void setRoleName(String roleName) {
        this.roleName = roleName == null ? null : roleName.trim();
    }

    /**
     * 获取角色编码
     *
     * @return ROLE_CODE - 角色编码
     */
    public String getRoleCode() {
        return roleCode;
    }

    /**
     * 设置角色编码
     *
     * @param roleCode 角色编码
     */
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode == null ? null : roleCode.trim();
    }

    /**
     * 获取角色描述
     *
     * @return ROLE_DESC - 角色描述
     */
    public String getRoleDesc() {
        return roleDesc;
    }

    /**
     * 设置角色描述
     *
     * @param roleDesc 角色描述
     */
    public void setRoleDesc(String roleDesc) {
        this.roleDesc = roleDesc == null ? null : roleDesc.trim();
    }

    public RoleDsTypeEnum getDsType() {
        return dsType;
    }

    public void setDsType(RoleDsTypeEnum dsType) {
        this.dsType = dsType;
    }

    /**
     * 获取数据权限范围
     *
     * @return DS_SCOPE - 数据权限范围
     */
    public String getDsScope() {
        return dsScope;
    }

    /**
     * 设置数据权限范围
     *
     * @param dsScope 数据权限范围
     */
    public void setDsScope(String dsScope) {
        this.dsScope = dsScope == null ? null : dsScope.trim();
    }

    /**
     * 获取备注
     *
     * @return REMARK - 备注
     */
    public String getRemark() {
        return remark;
    }

    /**
     * 设置备注
     *
     * @param remark 备注
     */
    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

	public Long getOrgId() {
		return orgId;
	}

	public void setOrgId(Long orgId) {
		this.orgId = orgId;
	}
}